Many computing system today have more than one operating system (OS) capable of being run on the system. However, computing systems generally only boot one operating system at a time on the system. If a second OS is needed, the computing system is powered down and the system is booted up in the new operating system. However rebooting into the new operating system is typically slow.
Furthermore, it is also possible to use multiple OSs on a single computing device by using virtualization to run multiple guest operating systems on top of a single host operating system. However, virtualization does not generally allow each OS direct access to hardware devices, which can reduce performance, particularly for programs that require direct access to high speed peripherals, such as games.